import jieba

# 使用jieba对“三国演义”中的词频进行统计并输出。

txt = open("test.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt)  # 使用精确模式对文本进行分词
counts = {}  # 通过键值对的形式存储词语及其出现的次数

for word in words:
    if len(word) == 1:  # 单个词语不计算在内
        continue
    else:
        rword = word
    counts[rword] = counts.get(rword, 0) + 1  # 遍历所有词语，每出现一次其对应的值加 1

items = list(counts.items())  # 将键值对转换成列表
items.sort(key=lambda x: x[1], reverse=True)  # 根据词语出现的次数进行从大到小排序
file = open('output.txt', 'w')
for i in range(5):
    word, count = items[i]
    print("{0:<5}{1:>5}".format(word, count))
    file.write(str(items[i]))

file.close()
